package com.cgwx.tcservice.entity.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.cgwx.tcservice.convert.TcParameterBitTypeConverter;
import com.cgwx.tcservice.convert.TcParameterModeConverter;
import com.cgwx.tcservice.convert.TcParameterTypeConverter;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author GaoWei
 * @Date 2023/9/15 - 9:40
 */

@Data
@Api(tags = "上传遥控指令配置表格实体类，表格第四行开始至最后。每一个sheet的第四行开始的每一行，对应一条遥控指令的一个参数，对应tc_parameter_config表的一行数据")
public class TcParameterExcelVo {

    @ApiModelProperty(value = "每行遥控参数名称，固定参数占1行，可变参数占多行")
    @ExcelProperty("项名称")
    private String tcParameterName;

    @ApiModelProperty(value = "遥控参数起始位置(b)")
    @ExcelProperty("起始位置")
    private Integer tcParameterStartPos;

    @ApiModelProperty(value = "遥控参数长度(b)")
    @ExcelProperty("长度")
    private Integer tcParameterLength;

    @ApiModelProperty(value = "处理参数")
    @ExcelProperty("处理参数")
    private String tcHandleParam;

    @ApiModelProperty(value = "参数类型(1:十六进制;2:公式;3:二进制)")
    @ExcelProperty(converter = TcParameterTypeConverter.class, value = "参数类型")
    private Integer tcParameterType;

    @ApiModelProperty(value = "处理方式(1:固定值;2:补码;)")
    @ExcelProperty(converter = TcParameterModeConverter.class, value = "处理方式")
    private Integer tcParameterMode;

    @ApiModelProperty(value = "高低位(1:低位在前;2:高位在前)")
    @ExcelProperty(converter = TcParameterBitTypeConverter.class, value = "高低位")
    private Integer tcParameterBitType;
}
